﻿/*************************************
 * Creator:SunnyPaine
 * DateTime:2022/8/22 15:21:52
 * Description:<Description>
 * CopyRight:
 * ***********************************/

using System;

namespace SunnyPaine.Autofac.Extension.Stereotype.Attributes
{
    /// <summary>
    /// 表示被标记的类型是可以被Autofac的IOC容器扫描并创建实例的组件。
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public class ComponentAttribute : Attribute
    {
        /// <summary>
        /// 名称。
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 优先级。数字越小，优先级越高。
        /// </summary>
        public uint Sort { get; set; } = int.MaxValue;

        /// <summary>
        /// 是否局部注册。true：实例局部有效，每次从IOC中获取实例都是一个新的对象。false：实例全局单例。默认false。
        /// </summary>
        public bool Scope { get; set; } = false;
    }
}
